﻿'  __ _                 
' / _| |                
'| |_| |_   _ _ __ _ __ 
'|  _| | | | | '__| '__|
'| | | | |_| | |  | |   
'|_| |_|\__,_|_|  |_|

'Copyright (C) 2012, Rafal Marek Chmiel
'All rights reserved. http://flurr.codeplex.com/

'This file is part of the TwitterVB software
'Copyright (C) 2009, Duane Roelands
'All rights reserved.

'TwitterVB is a port of the Twitterizer library (http://code.google.com/p/twitterizer/)
'Copyright (C) 2008, Patrick "Ricky" Smith (ricky@digitally-born.com)
'All rights reserved.

' Redistribution and use in source and binary forms, with or without modification, are 
' permitted provided that the following conditions are met:
'
' - Redistributions of source code must retain the above copyright notice, this list 
'   of conditions and the following disclaimer.
' - Redistributions in binary form must reproduce the above copyright notice, this list 
'   of conditions and the following disclaimer in the documentation and/or other 
'   materials provided with the distribution.
'
' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
' IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
' INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
' NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
' PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
' WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
' ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
' POSSIBILITY OF SUCH DAMAGE.

Namespace twitter
    Public Class twitterATwiCliPhotoFile
        Inherits twitterATwiCliFile

#Region "TCPF Constants"
        Const TCPF_PHOTO_STRING As String = "photo.jpg"
        Const TCPF_PHOTO_EXTENSION As String = ".jpg"
#End Region
        Private m_iUserTags As Integer
        Private m_dLongitude As Double
        Private m_dLatitude As Double
        Private m_bShowMap As Boolean
        Private m_strCameraMake As String
        Private m_strCameraModel As String
        Public Property UserTags_Count() As Integer
            Get
                Return m_iUserTags

            End Get
            Set(ByVal value As Integer)
                m_iUserTags = value

            End Set
        End Property

        Public Property Longitude() As Double
            Get
                Return m_dLongitude

            End Get
            Set(ByVal value As Double)
                m_dLongitude = value
            End Set
        End Property

        Public Property Latitude() As Double
            Get
                Return m_dLatitude

            End Get
            Set(ByVal value As Double)
                m_dLatitude = value

            End Set
        End Property

        Public Property ShowMap() As Boolean
            Get
                Return m_bShowMap

            End Get
            Set(ByVal value As Boolean)
                m_bShowMap = value

            End Set
        End Property

        Public Property CameraMake() As String
            Get
                Return m_strCameraMake

            End Get
            Set(ByVal value As String)
                m_strCameraMake = value

            End Set
        End Property

        Public Property CameraModel() As String
            Get
                Return m_strCameraModel

            End Get
            Set(ByVal value As String)
                m_strCameraModel = value

            End Set
        End Property

        Public Overrides Function GetDirectURL() As String
            GetDirectURL = TCF_DIRECT_URL & TCPF_PHOTO_STRING & "?id=" & Me.ID & "&size=original"
        End Function

        Public Overrides Function GetExtension() As String
            Return TCPF_PHOTO_EXTENSION

        End Function

        Public ReadOnly Property LargeURL() As String
            Get
                Return TCF_DIRECT_URL & TCPF_PHOTO_STRING & "?id=" & Me.ID & "&size=large"
            End Get
        End Property

        Public ReadOnly Property SmallURL() As String
            Get
                Return TCF_DIRECT_URL & TCPF_PHOTO_STRING & "?id=" & Me.ID & "&size=small"
            End Get
        End Property

        Public ReadOnly Property MediumURL() As String
            Get
                Return TCF_DIRECT_URL & TCPF_PHOTO_STRING & "?id=" & Me.ID & "&size=medium"
            End Get
        End Property

        Public ReadOnly Property SquareURL() As String
            Get
                Return TCF_DIRECT_URL & TCPF_PHOTO_STRING & "?id=" & Me.ID & "&size=square"
            End Get
        End Property

        Public ReadOnly Property TileURL() As String
            Get
                Return TCF_DIRECT_URL & TCPF_PHOTO_STRING & "?id=" & Me.ID & "&size=tile"
            End Get
        End Property

        Public ReadOnly Property LargestURL() As String
            Get
                Return TCF_DIRECT_URL & TCPF_PHOTO_STRING & "?id=" & Me.ID & "&size=largest_available"
            End Get
        End Property

    End Class

End Namespace